/*
 * Copyright 2013-2019 Xia Jun(3979434@qq.com).
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 ***************************************************************************************
 *                                                                                     *
 *                        Website : http://www.farsunset.com                           *
 *                                                                                     *
 ***************************************************************************************
 */
package com.workcell.workdata.im.model.request;


import com.workcell.workdata.im.annotation.CreateAction;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Map;

@ApiModel
public class RoomRecallRequest implements Serializable {

    private static final byte GROUP_VOICE = 10;
    private static final byte GROUP_VIDEO = 11;

    @ApiModelProperty("成员信息")
    private Map<Long,String> member;

    @NotNull(message = "被呼叫用户id不能为空",groups = CreateAction.class)
    @ApiModelProperty("被呼叫用户id")
    private Long uid;

    @NotEmpty(message = "tag不能为空",groups = CreateAction.class)
    @ApiModelProperty("房间号")
    private String tag;

    @NotNull(message = "房间类型不能空",groups = CreateAction.class)
    @ApiModelProperty("房间类型")
    private Byte type;

    public Map<Long, String> getMember() {
        return member;
    }

    public void setMember(Map<Long, String> member) {
        this.member = member;
    }

    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }

    public String getName(long uid){
        return member.get(uid);
    }

    public long getUid() {
        return uid;
    }

    public void setUid(long uid) {
        this.uid = uid;
    }

    public byte getType() {
        return type;
    }

    public void setType(byte type) {
        this.type = type;
    }

    public boolean isVideoMode(){
        return type == GROUP_VIDEO;
    }

}
